home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 March / PCWorld_2007-03_cd.bin / temacd / hateml / HateML_10063.exe / {app} / Data / Scripts / SearchEngine.sce
Text File  |  2006-02-16  |  3KB  |  146 lines

  1. program SearchEngine;
  2. var
  3.   Form: TForm;
  4.   Label1,Label2,Label3: TLabel;
  5.   Button: TButton;
  6.   OKB,CB:TButton;
  7.   Edit1,Edit2,Edit3: TEdit;
  8.   Memo: TMemo;
  9.   i:integer;
  10.   
  11. const
  12.  txt1 = '<script type="text/javascript">'#10+
  13. '//SearchEngine Script. Copyright 2005 by Michal Gajek'#10+
  14. '//migajek@yahoo.com , http://migajek.com'#10+
  15. 'keywords = new Array();'#10+
  16. 'url = new Array();'#10+
  17. 'title= new Array();'#10#10;
  18. txt2 ='function Search(txt){'#10#10+
  19. 'var'#10+
  20. ' results = new String();'#10#10+
  21. 'for (i=0;i<keywords.length;i++){'#10+
  22. ' var str= new String(keywords[i]);'#10+
  23. ' if (str.indexOf(txt)>-1) {'#10+
  24. '  results += ''<a href="''+url[i]+''">''+title[i]+''</a><br>'';'#10+
  25. ' }'#10+
  26. '}'#10#10+
  27.  
  28. 'document.getElementById("sres").innerHTML = results;'#10+
  29. '}'#10#10+
  30. '</script>'#10+
  31. '<div id="sres"> </div>'#10+
  32. '<form>'#10+
  33. '<input name="stxt" value="">'#10+
  34. '<input type="button" onclick="Search(this.form.stxt.value);"></form>';
  35. procedure buttonclick(sender: TObject);
  36. var
  37. idx:string;
  38. begin
  39. idx:=inttostr(i);
  40. if (Edit1.Text<>'')and(Edit2.Text<>'')and(Edit3.Text<>'') then
  41.  begin
  42.   memo.lines.Add('keywords['+idx+'] = '''+Edit1.Text+''';');
  43.   memo.lines.Add('url['+idx+'] = '''+Edit2.Text+''';');
  44.   memo.lines.Add('title['+idx+'] = '''+Edit3.Text+''';');
  45.   I:=i+1;
  46.   edit1.text:='';
  47.   edit2.text:='';
  48.   edit3.text:='';
  49.  end;
  50. end;
  51.  
  52. procedure close;
  53. begin
  54. Form.Visible:=false;
  55. end;
  56.  
  57. procedure OKClick(Sender:TObject);
  58. begin
  59. AddText(txt1+Memo.Lines.Text+txt2);
  60. close;
  61. end;
  62.  
  63. procedure CBClick(sender:TObject);
  64. begin
  65. close;
  66. end;
  67.  
  68. Begin
  69.   Form := TForm.Create(self);
  70.   Form.Width := 400;
  71.   Form.Height := 340;
  72.   Form.BorderStyle := bsToolWindow;
  73.   Form.Caption := 'Search Engine Creator';
  74.   Form.Position := poScreenCenter;
  75.   
  76.   Edit1 := TEdit.Create(Form);
  77.   Edit1.Font.Name := 'Tahoma';
  78.   Edit1.SetBounds(105,170,250,24);
  79.   Edit1.Parent := Form;
  80.   
  81.   Label1:= TLabel.Create(Form);
  82.   Label1.Caption := 'Keywords: ';
  83.   Label1.SetBounds(10,172,100,24);
  84.   Label1.Parent:= Form;
  85.   
  86.   Edit2 := TEdit.Create(Form);
  87.   Edit2.Font.Name := 'Tahoma';
  88.   Edit2.SetBounds(105,200,250,24);
  89.   Edit2.Parent := Form;
  90.  
  91.   Label2:= TLabel.Create(Form);
  92.   Label2.Caption := 'Url: ';
  93.   Label2.SetBounds(10,202,100,24);
  94.   Label2.Parent:= Form;
  95.  
  96.   Edit3 := TEdit.Create(Form);
  97.   Edit3.Font.Name := 'Tahoma';
  98.   Edit3.SetBounds(105,230,250,24);
  99.   Edit3.Parent := Form;
  100.  
  101.   Label3:= TLabel.Create(Form);
  102.   Label3.Caption := 'Title: ';
  103.   Label3.SetBounds(10,232,100,24);
  104.   Label3.Parent:= Form;
  105.   
  106.   Button := TButton.Create(Form);
  107.   Button.Left := 311;
  108.   Button.Top := 255;
  109.   Button.Width := 45;
  110.   Button.Height := 24;
  111.   Button.Caption := 'Add';
  112.   Button.OnClick := @buttonclick;
  113.   Button.Parent := Form;
  114.   Button.Default := True;
  115.   
  116.   OKB := TButton.Create(Form);
  117.   OKB.Caption := 'OK';
  118.   OKB.SetBounds(290,280,65,25);
  119.   OKB.OnClick:=@OKClick;
  120.   OKB.Parent:=form;
  121.  
  122.   CB := TButton.Create(Form);
  123.   CB.Caption := 'Cancel';
  124.   CB.SetBounds(200,280,65,25);
  125.   CB.OnClick:=@CbClick;
  126.   CB.Parent:=form;
  127.   
  128.   Memo := TMemo.Create(Form);
  129.   Memo.Left := 10;
  130.   Memo.Width := 380; 
  131.   Memo.Top := 10;
  132.   Memo.Height := 150;
  133.   Memo.Text := '';
  134.   Memo.Parent := Form;
  135.   
  136.   Form.FormStyle:=fsStayOnTop;
  137.   Form.Visible := true;
  138.  
  139.   while Form.Visible  do
  140.   begin
  141.     Application.HandleMessage;
  142.   end;
  143.   Button.Free;
  144.   Form.Free;
  145. End.
  146.